﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ReadExcel
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            string file_name = "test.xlsx";//文件路径，此处为了省事，直接把文件放到了bin->Debug->netcoreapp3.1文件夹下（demo是一个.Net Core的控制台项目）
            string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + file_name + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";//连接数据源所用的字符串
            OleDbConnection con = new OleDbConnection(conString);//创建连接
            con.Open();//打开连接
            string sql = "select * from [Sheet1$]";//查询语句

            OleDbDataAdapter adp = new OleDbDataAdapter(sql, con);//执行查询语句
            DataSet ds = new DataSet();//可以理解未内存中的一个数据库，里边会有多张表
            adp.Fill(ds);//将查询结果填充到DataSet中
            con.Close();//关闭连接
            con.Dispose();//释放资源
            DataTableCollection datatable_collection = ds.Tables;//得到一个数据表的集合
            DataTable dt = datatable_collection[0];//第一张表就是我们的数据
            foreach (DataRow dr in dt.Rows)
            {
                Console.WriteLine($"{dr[0]}  {dr[1]}");
                richTextBox1.AppendText  (dr[0].ToString()+ dr[1].ToString()+ System.Environment.NewLine);
            }
            

            

        }
    }
}
